home *** CD-ROM | disk | FTP | other *** search
/ BCI NET / BCI NET Dec 94.iso / archives / programming / libraries / mui20usr.lha / MUI / Docs / Deutsch / MUI.doc < prev    next >
Encoding:
Text File  |  1994-02-11  |  62.0 KB  |  1,556 lines

  1.  
  2.  
  3.                        MUI - MagicUserInterface
  4.  
  5.      Ein System zur Gestaltung von grafischen Benutzeroberflächen
  6.  
  7.                               Version 2.0
  8.  
  9.                          Benutzerdokumentation
  10.  
  11.                 (c) Copyright 1992-94 by Stefan Stuntz
  12.  
  13.                              - ShareWare -
  14.  
  15. Einführung
  16. **********
  17.  
  18. Das Konzept von MUI
  19. ===================
  20.  
  21.    MagicUserInterface, abgekürzt MUI, ist ein komplettes System zum
  22. Erstellen und Verwalten von grafischen Benutzeroberflächen. Das
  23. Generieren solcher Oberflächen war auf dem Amiga schon immer ein
  24. großes Problem, weil dem Programmierer vom Betriebssystem dabei relativ
  25. wenig Unterstützung geboten wird. Durch die Einführung der
  26. `gadtools.library' unter Kickstart 2.0 war zwar ein erster Schritt in
  27. die richtige Richtung getan, aber auch damit ist das Erzeugen einer
  28. anspruchsvollen Oberfläche schwierig und langwierig. Es gibt zwar
  29. mittlerweile zahlreiche Hilfsprogramme, welche die Arbeit mit der
  30. `gadtools.library' vereinfachen sollen, doch auch die damit erzielten
  31. Ergebnisse sind meist alles andere als befriedigend.
  32.  
  33.    Das größte Problem der herkömmlichen Tools liegt in deren relativ
  34. unflexiblen Ergebnis. Die meisten Programme arbeiten heute immer noch
  35. mit fest eingestellten Zeichensätzen und Fenstergrößen, obwohl das
  36. im Zeitalter von hochauflösenden Grafikkarten eigentlich eine Zumutung
  37. ist. Aber die Amiga-Benutzer sind ja in dieser Hinsicht leider sowieso
  38. nicht allzu verwöhnt, selbst die Preferences-Programme auf der
  39. Workbench verwenden alle noch den Standard-Zeichensatz `topaz/8'.
  40.  
  41.    Hier will MUI Abhilfe schaffen. Der zentrale Gedanke besteht dabei
  42. darin, daß nur der Benutzer (und nicht der Programmierer) einer
  43. Applikation weiß, wie diese auf seinem persönlichen Gerät am Besten
  44. aussieht. Deswegen enthalten MUI Programme auch so gut wie keine
  45. absoluten Größen- und Positionsangaben, der Programmierer
  46. spezifiziert lediglich gewisse Gruppenzugehörigkeiten von
  47. Bedienungselementen. Das eigentliche Plazieren der Objekte wird dann
  48. während der Laufzeit des Programms nach den Vorgaben des Benutzers vom
  49. MUI System übernommen.
  50.  
  51.    Eine MUI Applikation bietet ihrem Benutzer demnach viele wesentliche
  52. Vorteile gegenüber normalen Programmen:
  53.  
  54.    - Zeichensatz-Sensitivität
  55.  
  56.      Bei jedem MUI Programm können die verwendeten Zeichensätze frei
  57.      eingestellt werden. Vorbei sind die Zeiten in denen A2024-Besitzer
  58.      mit winzig kleinen topaz/8 Programmen kämpfen müssen. MUI
  59.      schränkt die Auswahl der Zeichensätze in keinster Weise ein, das
  60.      gilt insbesondere auch für Proportionalschriften. Diese verleihen
  61.      einem Programm zum einen ein wesentlich hübscheres und
  62.      professionelleres Aussehen und verringern zum anderen den
  63.      Platzbedarf erheblich.
  64.  
  65.    - Veränderbare Fenstergrößen
  66.  
  67.      Alle MUI-Fenster besitzen ein Sizing-Gadget mit dem sich die
  68.      Größe beliebig bestimmen läßt. Je kleiner das Fenster, desto
  69.      näher rücken die Bedienungselemente zusammen, je größer, desto
  70.      mehr Platz ist für die Darstellung von Informationen vorhanden.
  71.      Größe und Position eines Fensters lassen sich zudem dauerhaft
  72.      abspeichern, damit man gleich nach dem Start einer Applikation
  73.      seine Lieblingseinstellungen vor sich hat.
  74.  
  75.    - Flexibilität
  76.  
  77.      Nahezu alle Elemente einer Oberfläche können in ihrem Aussehen
  78.      beeinflußt werden. Als Benutzer bestimmt man, wie dick die Rahmen
  79.      sind, wie die Scrollbalken auszusehen haben, welche Images
  80.      verwendet werden oder wieviel Platz zwischen den Zeilen eines
  81.      Listviews eingefügt werden soll. MUI bietet hier eine Fülle von
  82.      Möglichkeiten, auf die später noch genauer eingegangen wird.
  83.  
  84.    - Tastatur-Bedienbarkeit
  85.  
  86.      Normalerweise werden grafische Benutzeroberflächen, natürlich
  87.      auch die von MUI, mit einer Maus bedient. Viele Benutzer würden
  88.      allerdings auch gerne die Tastatur verwenden, weil das in manchen
  89.      Fällen einfach schneller und bequemer ist. Deshalb lassen sich
  90.      alle Objekte einer MUI Oberfläche, seien es nun String-Gadgets,
  91.      Radio-Buttons oder Listen, ohne weiteres auch mit Tastatur
  92.      steuern. Die Maus kann man dabei getrost bei Seite schieben, sie
  93.      wird nicht mehr benötigt.
  94.  
  95.    - System-Integration
  96.  
  97.      MUI Applikationen arbeiten auf vielfältige Weise mit dem
  98.      Betriebssystem zusammen. Jedes Programm kann etwa auf Knopfdruck
  99.      (oder mit dem Commodities Exchange Programm) ikonifiziert und
  100.      später wieder zum Leben erweckt werden. Außerdem besitzen alle
  101.      Applikationen einen ARexx-Port, mit dem man unter anderem die
  102.      komplette Benutzeroberfläche "fernsteuern" kann.
  103.  
  104.    - Umgebungsanpassung
  105.  
  106.      Einem MUI Programm ist es gleichgültig, ob es auf der Workbench
  107.      oder einem anderem Public Screen läuft, ob die Auflösung 640x200
  108.      oder 1280x1024 Pixel beträgt oder ob 4 oder 256 Farben zur
  109.      Verfügung stehen. Jede Applikation kann vom Benutzer auf beliebige
  110.      Bildschirme geschaltet werden und paßt sich dort automatisch an
  111.      ihre Umgebung an.
  112.  
  113.    Alle eben genannten (und noch viele andere) Einstellungen können
  114. vom Benutzer einer Applikation mit Hilfe des MUI Preferences Programms
  115. vorgenommen werden und zwar je nach Notwendigkeit global oder für jede
  116. Applikation einzeln.
  117.  
  118. Systemanforderungen
  119. ===================
  120.  
  121.    MUI läuft mit allen Betriebssystemversionen ab Kickstart 2.0 und
  122. ist so programmiert daß es auch unter allen folgenden Versionen
  123. arbeitet. Einige besondere Features bleiben jedoch den Besitzern von
  124. aktuellen Betriebssystemversionen (Kickstart 3.0 oder aufwärts)
  125. vorbehalten. Kickstart 1.3 wird nicht mehr unterstützt, die Zeiten sind
  126. endgültig vorbei.
  127.  
  128.    Dringend anzuraten ist außerdem eine Festplatte, obwohl MUI sich
  129. auch mit Diskettenlaufwerken zufrieden gibt. Bedingt durch das modulare
  130. Konzept kann es dabei jedoch beim ersten Starten einer Applikation zu
  131. etwas längeren Ladezeiten kommen.
  132.  
  133.    MUI stellt keine besonderen Anforderungen an den Prozessortyp, aber
  134. auch hier gilt natürlich: je mehr desto besser. Für die Verwaltung
  135. und das Layout von Fenstern sind teilweise komplizierte Berechnungen
  136. nötig, die auf einem 68000er eventuell etwas langsam sind.
  137.  
  138.    Speicher kann man sowieso nie genug haben, ein Megabyte ist zum
  139. Betrieb von MUI allerdings mehr als ausreichend. Bei (nur) 512 kByte
  140. könnte es je nach Applikation etwas knapp werden.
  141.  
  142. Installation
  143. ============
  144.  
  145.    MUI wird mit dem Installer von Commodore ausgeliefert, deshalb ist
  146. die Installation denkbar einfach. Ein simpler Doppelklick auf
  147. `MUI-Install' startet den Vorgang, danach wird man vom Script weiter
  148. geführt.
  149.  
  150.    Eine funktionsfähige MUI Installation besteht aus der
  151. `muimaster.library' im `libs:' Verzeichnis sowie den Unterlibraries
  152. für einige Bedienelemente im Verzeichnis `libs:mui/'. Außerdem sollte
  153. sich das Preferences Programm zusammen mit den Voreinstellern der
  154. Workbench im `sys:Prefs' Ordner befinden. Bei Verwendung des Installers
  155. braucht man sich über die Anordnung jedoch keine Gedanken zu machen,
  156. die Dateien werden automatisch an die richtigen Positionen kopiert.
  157.  
  158. Bedienen von MUI-Applikationen
  159. ******************************
  160.  
  161. Fenster
  162. =======
  163.  
  164.    MUI Applikationen verhalten sich zunächst wie ganz normale
  165. Amiga-Programme und können auch so bedient werden. Allerdings bieten
  166. sie zusätzlich noch einige Features, die im folgenden etwas näher
  167. erläutert werden sollen.
  168.  
  169.    Wie bereits in der Einleitung erwähnt, sind fast alle MUI Fenster in
  170. ihrer Größe beliebig veränderbar. Ein Benutzer kann selbst
  171. bestimmen, ob die Bedienungselemente eher klein und platzsparend oder
  172. größer und übersichtlicher erscheinen. Damit man nicht bei jedem
  173. Start einer Applikation seine bevorzugten Fenstergrößen (und
  174. Positionen) neu einstellen muß, merken sich MUI Fenster diese Werte
  175. automatisch und stellen sie bei einem erneuten Start des jeweiligen
  176. Programms wieder zur Verfügung. Das gilt sowohl für die normale
  177. Fenster-Position und Größe als auch für die entsprechenden Werte im
  178. "Zoomed"-Zustand (nach Betätigen des Zoom-Gadgets).
  179.  
  180.    Nach einem Reset sind die gespeicherten Informationen über die
  181. Fenster gewöhnlich verloren, es sei denn man hat nachträglich im
  182. *Note Preferences-Programm: PRF_INTRO die Speicher-Funktion aktiviert.
  183. Dadurch werden unter anderem sämtliche - die Fenster betreffenden Daten
  184. - gespeichert und stehen fortan dauerhaft zur Verfügung.
  185.  
  186.    Alle Fenster einer Applikation enthalten außerdem im oberen Rahmen
  187. neben dem Depth- und dem Zoom-Gadget noch einen dritten Knopf. Dieser
  188. Knopf kann dazu benutzt werden, die gesamte Applikation zu
  189. ikonifizieren. MUI schließt daraufhin alle Fenster (und eventuell
  190. Screens) die zu der Applikation gehören und erzeugt ein kleines
  191. AppIcon auf der Workbench.  Ein Doppelklick auf dieses AppIcon bringt
  192. die Applikation dann wieder zum Vorschein.
  193.  
  194. Tastatur
  195. ========
  196.  
  197.    Alle Bedienungselemente in einem MUI-Fenster sind vollständig mit
  198. der Tastatur steuerbar. Die von herkömmlichen Programmen verwendeten
  199. Tastatur-Shortcuts (gekennzeichnet durch einen unterstrichenen
  200. Buchstaben in dem jeweiligen Gadget) werden natürlich unterstützt,
  201. diese Methode stößt jedoch bei Objekten wie Listviews oder
  202. Cycle-Gadgets schnell an ihre Grenzen.
  203.  
  204.    Für MUI wurde deshalb das von String-Gadgets bekannte Prinzip des
  205. `Tab'-Cyclings aufgegriffen und erweitert. In MUI-Fenstern können mit
  206. `Tab' neben String-Gadgets auch alle anderen Objekte aktiviert werden.
  207. Ein aktives Objekt kann dann jeweils mit der Tastatur bedient werden:
  208.  
  209.    - Button-Gadgets
  210.  
  211.      `Return' entspricht einem Anklicken des Knopfs mit der Maus, dabei
  212.      wird zwischen Drücken und Loslassen unterschieden.  Ein bereits
  213.      gedrückter Knopf kann (vor dem Loslassen von `Return') durch
  214.      `Shift' abgebrochen werden, ohne daß die dazugehörige Aktion
  215.      ausgelöst wird.
  216.  
  217.    - Checkmark-Gadgets
  218.  
  219.      Ein aktives Checkmark-Gadget kann mit `Space' oder `Return'
  220.      beeinflußt werden, der Status kehrt sich dadurch jeweils um.
  221.  
  222.    - Slider
  223.  
  224.      Die vier Cursor-Tasten, zusammen mit den entsprechenden Qualifiern
  225.      beeinflussen den Wert von horizontalen oder vertikalen Slidern.
  226.  
  227.    - Cycle-Gadgets
  228.  
  229.      Bei aktivierten *Note Cycle-Gadgets: USE_CYCLE können die
  230.      Einträge mit den Cursor-Tasten durchgeschaltet werden. Die
  231.      `Return'-Taste läßt das zugehörige Popup-Menü aufklappen
  232.      (falls dieses Feature nicht abgeschaltet wurde).
  233.  
  234.    - Radio-Buttons
  235.  
  236.      Auch hier dienen die Cursor-Tasten zur Steuerung.
  237.  
  238.    - Listviews
  239.  
  240.      In einem aktivierten Listview läßt sich der Cursor mit den
  241.      Cursor-Tasten und den entsprechenden Qualifiern zeilenweise,
  242.      seitenweise oder ganz nach oben bzw. unten bewegen. Die
  243.      `Return'-Taste simuliert einen Doppelklick. Falls in dem Listview
  244.      mehrere Einträge selektiert werden können, kann dazu `Space'
  245.      verwendet werden.
  246.  
  247.    - Fenster
  248.  
  249.      Sollte eine Applikation mehrere, gleichzeitig bedienbare Fenster
  250.      geöffnet haben, dann können mit `Alt-Tab' bzw.  `Shift-Alt-Tab'
  251.      diese Fenster der Reihe nach aktiviert werden.  Ein Drücken von
  252.      `Escape' wirkt wie ein Mausklick auf das Close-Gadget (falls
  253.      vorhanden).
  254.  
  255.    Sämtliche Erklärungen beziehen sich auf die Standard-Einstellungen,
  256. mit dem Preferences-Programm lassen sich alle verwendeten
  257. Tastenkombinationen beliebig einstellen.
  258.  
  259. Cycle Gadgets
  260. =============
  261.  
  262.    In MUI Applikationen verwendete Cycle-Gadgets bieten neben ihrer
  263. normalen Funktion (nächster Eintrag durch anklicken, vorheriger
  264. Eintrag mit `Shift') auch optional ein Popup-Menü.  Dieses Menü
  265. klappt auf, sobald der Text-Bereich im Cycle-Gadget angeklickt wird und
  266. erlaubt eine schnelle und übersichtliche Selektion eines der
  267. vorhandenen Einträge.
  268.  
  269.    Das genaue Verhalten dieser Popup-Menüs kann im Preferences-Programm
  270. festgelegt werden (siehe *Note Cycle-Gadget Menüs: PRF_LISTVIEWS).
  271.  
  272. Commodities Interface
  273. =====================
  274.  
  275.    Jedes MUI Programm bindet sich als Commodity ins System ein.
  276. Dadurch hat man als Benutzer die Möglichkeit, Applikationen mit dem
  277. `Exchange'-Programm der Workbench zu kontrollieren.  Die Kontrolle
  278. besteht dabei im wesentlichen darin, Programme zu ikonifizieren oder
  279. ganz zu verlassen.
  280.  
  281. ARexx Port
  282. ==========
  283.  
  284.    Alle MUI-Applikationen können über einen integrierten ARexx-Port
  285. Befehle empfangen. Dabei stehen immer einige Standard-Befehle zur
  286. Verfügung, die jedes Programm versteht:
  287.  
  288.    - QUIT
  289.  
  290.      Die Applikation wird beendet.
  291.  
  292.    - HIDE
  293.  
  294.      Die Applikation wird ikonifiziert.
  295.  
  296.    - SHOW
  297.  
  298.      Eine ikonifizierte Applikation wird wieder zum Leben erweckt.
  299.  
  300.    - INFO ITEM/A
  301.  
  302.      Je nach angegebenem Parameter wird der Ergebnis-String
  303.      entsprechend aufgefüllt:
  304.  
  305.         - "title"       Titel der Applikation
  306.  
  307.         - "author"      Autor der Applikation
  308.  
  309.         - "copyright"   Copyright-Notiz
  310.  
  311.         - "description" Kurzbeschreibung
  312.  
  313.         - "version"     Versionsstring
  314.  
  315.         - "base"        Name des ARexx Ports
  316.  
  317.         - "screen"      Name des Public-Screens
  318.  
  319.    - HELP FILE/A
  320.  
  321.      Eine Liste aller ARexx-Befehle wird in die angegebene Datei
  322.      geschrieben.  Zusätzlich zu den Standard-Befehlen kann (und
  323.      sollte) eine Applikation natürlich noch eine Menge eigener
  324.      Befehle definieren. Die Help-Liste wird dann auch diese Befehle
  325.      enthalten.
  326.  
  327.    Falls beim Bearbeiten der Befehke irgendwelche Fehler auftreten,
  328. werden die folgenden Werte as result code zurückgeliefert:
  329.  
  330.    - -1
  331.  
  332.      Fehlerhafte Definition des ARexx-Befehls im Programm. Sollte
  333.      eigentlich nie passieren.
  334.  
  335.    - -2
  336.  
  337.      Kein Speicher für die Bearbeitung des Befehls.
  338.  
  339.    - -3
  340.  
  341.      Unbekannter ARexx-Befehl.
  342.  
  343.    - -4
  344.  
  345.      Sytanx-Error in den Parametern eines Befehls.
  346.  
  347.    Einige kleine Beispiel-Scripts sind der Distribution beigelegt und
  348. finden sich im `Rexx'-Ordner im Hauptverzeichnis.
  349.  
  350. Preferences-Programm
  351. ********************
  352.  
  353. Allgemeines
  354. ===========
  355.  
  356.    Bei herkömmlichen Applikationen hat man als Benutzer normalerweise
  357. keine, oder nur sehr eingeschränkte Möglichkeiten, das Aussehen und
  358. die Funktionalität der Benutzeroberfläche zu beeinflussen. Man ist
  359. dem Programmierer gewissermaßen hilflos ausgeliefert und muß sich
  360. seinem Geschmack unterordnen bzw. anpassen.
  361.  
  362.    Im Gegensatz dazu ist die Oberflächengestaltung bei MUI
  363. Applikationen wesentlich flexibler. Der Programmierer macht hier so gut
  364. wie gar keine Angaben über das eigentliche Aussehen von
  365. Bedienelementen, er legt lediglich deren Typ und gewisse Parameter
  366. fest. Wie diese Elemente dann letztendlich auf dem Bildschirm
  367. erscheinen, liegt fast ausschließlich in den Händen des Benutzers.
  368.  
  369.    So würde zum Beispiel ein Programmierer im Falle eines
  370. File-Requesters lediglich spezifizieren, daß sein Fenster oben eine
  371. Dateiliste, darunter ein Pfad- und ein Datei-Eingabefeld und darunter
  372. wiederum einen OK- und einen Abbruch-Knopf besitzen soll. Er macht
  373. jedoch keinerlei Vorgaben bezüglich Größen, Farben oder
  374. Zeichensätzen. Alle diese, und noch viele andere Gesichtspunkte der
  375. Bedienoberfläche können vom Benutzer einer Applikation jederzeit
  376. nachträglich verändert und an den persönlichen Geschmack angepaßt
  377. werden.
  378.  
  379.    Zum Vornehmen aller dieser Einstellungen dient nun das MUI
  380. Preferences Programm. Es befindet sich nach erfolgter Installation mit
  381. dem Installer im Prefs Ordner auf der System-Partition und wird einfach
  382. durch Doppelklick gestartet.
  383.  
  384. Hauptfenster
  385. ============
  386.  
  387.    Das Hauptfenster des Preferences-Programms läßt sich in drei
  388. Bereiche untergliedern. Ganz oben befindet sich ein Textfeld mit
  389. Popup-Button und zwei weiteren Knöpfen rechts daneben, darunter dann
  390. die verschiedenen Einstellseiten für alle Konfigurationsparameter und
  391. schließlich am unteren Fensterrand noch eine Knopfleiste.
  392.  
  393.    Mit dem Preferences-Programm ist es möglich, sämtliche
  394. Einstellungen nach Applikationen getrennt vorzunehmen. Im Textfeld
  395. links oben wird dazu der Name des betroffenen Programms angezeigt, mit
  396. dem Popup-Button daneben kann jederzeit die Applikation gewechselt
  397. werden. MUI führt automatisch eine Liste aller bereits einmal
  398. gestarteten Applikationen, aus diesen kann in der Popup-Liste eine
  399. beliebige gewählt werden.
  400.  
  401.    Meist wird man jedoch Parameter global, d.h. für alle Applikationen
  402. auf einmal, konfigurieren wollen. Dazu gibt es in der Liste der
  403. Programme einen speziell gekennzeichneten Eintrag namens `Global', der
  404. auch als erstes beim Start des Preferences-Programms aktiviert ist.
  405. Unter diese Überschrift getroffene Einstellungen wirken sich auf alle
  406. Applikationen aus, d.h. immer dann, wenn eine globale Einstellung
  407. verändert wird, überträgt diese sich automatisch auf die
  408. entsprechenden lokalen Werte, sofern diese vor der Änderung mit dem
  409. globalen Wert übereingestimmt haben. Wenn also zum Beispiel global der
  410. Zeichensatz `helvetica/13' und speziell für das MUI-Demo Programm der
  411. Zeichensatz `Times/18' konfiguriert ist, dann wirkt sich die globale
  412. Änderung von `helvetica/13' auf alle anderen Applikationen, nicht aber
  413. auf das Demo-Programm aus.
  414.  
  415.    Die allermeisten Parameter werden immer in den globalen Einstellungen
  416. konfiguriert werden, lokale Abänderungen sind nur bei relativ wenigen
  417. Feldern, etwa bei `Iconify-Hotkey' und `Public-Screen' sinnvoll.
  418. Theoretisch ist es aber ohne weiteres möglich, verschiedenen
  419. Applikationen völlig verschiedene Oberflächen-Outfits zu verpassen.
  420. In wie weit das auch sinnvoll ist, sei dahingestellt.
  421.  
  422.    Der `Info'-Knopf neben dem Applikationsnamen ist nur erreichbar wenn
  423. gerade lokale Einstellungen editiert werden. Damit werden zu dem
  424. entsprechenden Programm einige nützliche Informationen angezeigt,
  425. allerdings nur dann wenn das Programm gerade läuft.
  426.  
  427.    Durch MUI's automatische Applikationslistenverwaltung sammeln sich
  428. mit der Zeit einige Programme an, die man vielleicht inzwischen gar
  429. nicht mehr verwenden möchte. Mit dem `Delete'-Knopf können solche
  430. unerwünschte Applikationen aus der Liste entfernt werden.  Damit gehen
  431. natürlich alle Einstellungen die lokal für diese Programme getroffen
  432. wurden verloren.
  433.  
  434.    Die eigentlichen Einstellungen, entweder global oder pro Applikation,
  435. werden dann im Hauptteil in der Mitte des Fensters vorgenommen.  Hier
  436. befindet sich der - in Seiten aufgeteilte - Konfigurationsbereich.  Die
  437. Seiten können mit dem Cycle-Gadget am oberen Rand, oder auch mit den
  438. Einträgen im Page-Menü, durchgeschaltet werden. Die einzelnen
  439. Elemente der verschiedenen Seiten werden in den folgenden Kapiteln
  440. ausführlich beschrieben.
  441.  
  442.    Am unteren Fensterrand befinden sich die, von den System Preferences
  443. Programmen bekannten, `Save'-, `Use'- und `Cancel'-Knöpfe sowie
  444. zusätzlich ein `Test'-Gadget. Dieses `Test'-Gadget, ist wohl das am
  445. meisten benutzte Gadget im Preferences Programm. Gerade zu Beginn wird
  446. man ein wenig mit den vielen Parametern experimentieren, bis man seine
  447. ideale Einstellung gefunden hat. Ein Druck auf `Test' veranlaßt die
  448. aktuelle Applikation (oder alle, wenn gerade global konfiguriert wird)
  449. dazu, sich automatisch an die neu spezifizierten Werte anzupassen. Man
  450. kann also, nachdem man eine Applikation gestartet hat, deren
  451. Einstellungen einem noch nicht zusagen, parallel dazu das Preferences
  452. Programm aufrufen und die neue Applikation sozusagen im direkten Dialog
  453. dem eigenen Geschmack anpassen.
  454.  
  455.    Mit dem `Use'-Gadget werden alle getroffenen Einstellungen temporär
  456. (im `env:' Verzeichnis) abgelegt und das Preferences Programm beendet.
  457. Diese Einstellungen gehen natürlich mit dem nächsten Reset verloren.
  458.  
  459.    Zur dauerhaften Speicherung dient das `Save'-Gadget, alle Parameter
  460. werden auf Festplatte gesichert und stehen fortan immer zur Verfügung.
  461. Neben den konfigurierten Werten speichert MUI außerdem die
  462. Fensterpositionen einer Applikation.
  463.  
  464.    Durch `Cancel' werden alle Änderungen verworfen, Applikationen die
  465. sich eventuell durch die `Test'-Funktion angepaßt haben, nehmen ihr
  466. altes Aussehen wieder an. Es erfolgt hier - im Einklang mit den System
  467. Preferences Programmen - keine Sicherheitsabfrage.
  468.  
  469. Fonts-Seite
  470. ===========
  471.  
  472.    Alle mit MUI erzeugten Benutzeroberflächen sind font-sensitiv, d.h.
  473. sie passen sich automatisch an beliebige Zeichensätze an. Normalerweise
  474. werden die Standard-Zeichensätze des Systems verwendet, natürlich
  475. lassen sie die Fonts aber auch direkt einstellen.
  476.  
  477.    In MUI gibt es fünf Standard-Zeichensätze die von Applikationen
  478. genutzt werden können:
  479.  
  480.    - `Normal'
  481.  
  482.      Dieser Zeichensatz wird für alle Texte benutzt für die nicht
  483.      explizit ein anderer Zeichensatz konfiguriert ist.
  484.  
  485.    - `List'
  486.  
  487.      Das ist der Default-Zeichensatz für Listviews.
  488.  
  489.    - `Tiny'
  490.  
  491.      Der Tiny-Zeichensatz wird verwendet, um kleine, relativ unwichtige
  492.      Beschriftungen anzubringen. Die Skala eines Scale-Objects (siehe
  493.      `MUI-Demo') benutzt zum Beispiel diesen Font.
  494.  
  495.    - `Fixed'
  496.  
  497.      Wenn ein Programm einen nicht-proportionalen Zeichensatz
  498.      benötigt, tritt dieser hier in Aktion.
  499.  
  500.    - `Title'
  501.  
  502.      In diesem Zeichensatz werden Gruppentitel angezeigt.
  503.  
  504.    Bei einem leeren Feld verwendet MUI entsprechende
  505. Standard-Zeichensätze, und zwar für den Fixed-Font den
  506. System-Default-Font und ansonsten den Default-Font des Screens.
  507. Empfehlenswert ist es, für den `Title' Zeichensatz einen etwas
  508. kleineren Font zu wählen.  Dadurch passen sich die Titel besser dem
  509. umgebenden Rahmen an und werden nicht vielleicht an unerwünschten
  510. Stellen abgeschnitten.
  511.  
  512. Frames-Seite
  513. ============
  514.  
  515.    Rahmen sind ein wichtiges Element um eine Benutzeroberfläche
  516. übersichtlich zu gestalten und einzelne Gruppen von Objekten voneinander
  517. abzugrenzen. Rahmen sind aber auch Geschmackssache, deswegen kann man
  518. sie bei MUI alle in ihrem Aussehen beeinflussen.
  519.  
  520.    Bei den in herkömmlichen Amiga-Programmen verwendeten Rahmen sind
  521. die vertikalen Linien immer doppelt so dick wie die horizontalen Linien.
  522. Dies rührt wohl noch aus den Zeiten her, in denen 640 x 256 die
  523. übliche Auflösung war, die Pixel waren dabei ungefähr doppelt so hoch
  524. wie breit.  Im Zeitalter von Flickerfixern und hochauflösenden
  525. Grafikkarten etablieren sich jedoch immer mehr Auflösungen, bei denen
  526. das Verhältnis von Pixel-Breite zu Pixel-Höhe ungefähr 1:1 beträgt,
  527. es besteht also kein Grund mehr, Rahmen unnötig zu verbreitern. MUI
  528. bietet deshalb bei `Width' die Möglichkeit, von den üblichen dicken
  529. Rahmen auf dünne Rahmen umzustellen.
  530.  
  531.    Eingerahmte Gruppen können in ihrem Rahmen einen Titel beinhalten.
  532. Die Farbe dieses Gruppen-Titels kann mit der `Title' Einstellung
  533. konfiguriert werden. Drei Möglichkeiten stehen hier zur Auswahl,
  534. entweder schwarz, weiß oder mit Schattenwurf.
  535.  
  536.    Der Gruppentitel wird im oberen Teil eines Gruppenrahmens immer
  537. horizontal zentriert angezeigt. Mit `Pos.' kann die vertikale Position
  538. dieses Titeltexts beeinflußt werden. Bei `centered' erscheint der
  539. Titeltext auch vertikal zentriert in der Mitte des Rahmens, bei `above'
  540. befindet sich die Grundlinie des Textes genau auf Rahmenhöhe. In
  541. Zusammenhang mit dieser Einstellung steht auch der innere Abstand eines
  542. Gruppenrahmens, der im nächsten Abschnitt besprochen wird.
  543.  
  544.    Beim Erstellen von Rahmen in einer MUI-Applikation spezifiziert der
  545. Programmierer nicht das Aussehen sondern lediglich den Typ eines
  546. Rahmens. So bekommt zum Beispiel ein Button einen Button-Rahmen oder
  547. ein String-Gadget einen String-Rahmen. Wie diese Rahmen dann im
  548. Endeffekt aussehen, das bestimmt der Benutzer. Dazu sind alle
  549. möglichen Typen in einer Liste aufgeführt, jeweils mit einem kleinen
  550. Bild welches das gerade eingestellte Aussehen anzeigt. Die einzelnen
  551. Rahmen werden wie folgt verwendet:
  552.  
  553.    - Button
  554.  
  555.      für normale Button-Gadgets, wie zum Beispiel der `Edit'-Button
  556.      unter dieser Liste.
  557.  
  558.    - Image
  559.  
  560.      für kleine Buttons die nur ein Image enthalten, zum Beispiel die
  561.      Pfeil-Gadgets in einem Scrollbalken.
  562.  
  563.    - Text
  564.  
  565.      für Text-Felder die weder angeklickt noch editiert werden können
  566.      und nur zur Information dienen, zum Beispiel Statuszeilen.
  567.  
  568.    - String
  569.  
  570.      für String Gadgets.
  571.  
  572.    - Read-List
  573.  
  574.      für Listviews die lediglich zur Anzeige einer Liste dienen und in
  575.      denen nichts angeklickt werden kann.
  576.  
  577.    - Input-List
  578.  
  579.      für Listviews in denen der Benutzer Einträge selektieren kann,
  580.      zum Beispiel alle Listviews im Preferences-Programm.
  581.  
  582.    - Prop
  583.  
  584.      für alle Proportional-Gadgets, unter anderem verwendet in
  585.      Scrollbalken und Schiebereglern.
  586.  
  587.    - Gauge
  588.  
  589.      für Füllstandsanzeigen.
  590.  
  591.    - Group
  592.  
  593.      zum Gruppieren von Objekten.
  594.  
  595.    - Popup
  596.  
  597.      für die Rahmen der Cycle-Gadget Popup-Menüs.
  598.  
  599.    - Virtual
  600.  
  601.      für die Einrahmung der (bisher selten benutzten) virtuellen
  602.      Gruppen.
  603.  
  604.    - Virtual
  605.  
  606.      für Slider-Gadgets.
  607.  
  608.    Mit den rechts neben der Rahmen-Liste befindlichen Gadgets läßt
  609. sich das Aussehen des aktivierten Rahmens beeinflussen. Dabei kann mit
  610. dem `Type'-Cycle-Gadget aus einer Liste von vorgefertigten Designs
  611. eines ausgewählt werden. Alle Designs existieren in zwei Formen,
  612. entweder `Raised' (herausragend) oder `Recessed' (eingedrückt).
  613.  
  614.    Zu einem Rahmen gehört außerdem noch der Abstand, der ihn von
  615. seinem inneren Objekt trennt. Dieser Abstand kann mit den vier
  616. Schiebereglern bestimmt werden. Normalerweise wird man wohl für `Left'
  617. und `Right' sowie `Top' und `Bottom' identische Werte einstellen,
  618. deswegen sind diese Gadgets einseitig miteinander verbunden.  Sobald
  619. also der `Left'- bzw. `Top'-Slider bewegt wird, bewegen sich `Right'-
  620. bzw. `Bottom'-Slider automatisch mit. Um dennoch getrennte
  621. Einstellmöglichkeiten zu gewährleisten, gilt diese Verbindung nicht in
  622. der anderen Richtung, ein Verschieben von `Right/Bottom' beeinflußt
  623. die Positionen von `Left/Top' nicht.  Je nach Zeichensatz kann es
  624. durchaus sinnvoll sein, zum Beispiel beim Button-Frame den unteren
  625. Abstand etwas kleiner als den oberen zu wählen, um damit durch
  626. Unterlängen von Buchstaben eventuell verursachte Unsymmetrien
  627. auszugleichen.
  628.  
  629.    Rechts oben auf der Rahmen-Seite können noch einige Werte
  630. eingestellt werden, die nicht direkt mit einem speziellen Rahmen
  631. verbunden sind, aber dennoch zum Komplex Rahmen und Abstand gehören.
  632.  
  633.    Die vier Schieberegler unter `Window' bestimmen dabei pixelgenau den
  634. Abstand, der zwischen dem Rahmen des Fensters und dessen Inhalt
  635. eingefügt wird. Auch hier wird man üblicherweise für `Left' und
  636. `Right' sowie `Top' und `Bottom' identische Werte einstellen, deswegen
  637. sind auch diese Gadgets einseitig miteinander verbunden.
  638.  
  639.    Die beiden `Group'-Werte beeinflussen den Abstand der zwischen
  640. Elementen von horizontalen bzw. vertikalen Gruppen eingefügt wird.
  641. Gerade damit, und mit der Einstellung für den `Group-Frame' kann man
  642. Oberflächen entweder eng und platzsparend oder aber weit und
  643. augelockert gestalten.  Die `Radio' Schieberegler schließlich sind
  644. für das Aussehen der (selten benutzten) Radio-Button Gadgets
  645. verantwortlich.
  646.  
  647. Lists-Seite
  648. ===========
  649.  
  650.    Hier finden sich gesammelt einige Konfigurationsmöglichkeiten für
  651. Listen, Popup-Menüs und in verschiedene Seiten aufgeteilte Gruppen.
  652.  
  653.    Der `Leading'-Wert bestimmt die Anzahl der zusätzlichen Pixel, die
  654. zwischen den Zeilen eines Listviews eingefügt werden sollen um die
  655. Lesbarkeit zu erhöhen. Je nach verwendetem Zeichensatz und
  656. persönlichem Geschmack können hier durchaus größere Werte sinnvoll
  657. sein, insbesondere bei kleinen Fonts wie `topaz/8' wird die
  658. Übersichtlichkeit dadurch erheblich erhöht.
  659.  
  660.    Mit `Smoothing' kann der bei vielen Leuten beliebte "Nachzieh-Effekt"
  661. eines Listviews eingestellt werden. Dieser Effekt bewirkt, daß die
  662. Position einer Liste beim Scrollen nicht unmittelbar an den
  663. Scrollbalken angepaßt wird, sondern diesem in, von der Geschwindigkeit
  664. der Bewegung abhängigen Schritten, folgt.  Eine `0' verhindert das
  665. Nachziehen vollständig.
  666.  
  667.    Das Smoothing ist nur dann aktiv wenn die Listviews auch wirklich
  668. pixelorientiert arbeiten. Normalerweise wird immer nur um ganze Zeilen
  669. gescrolled, die Pixel-Orientierung muß erst mit dem `Pixel'-Gadget
  670. eingeschaltet werden.
  671.  
  672.    Bei Listviews die das gleichzeitige Anwählen von mehreren Einträge
  673. gestatten, den sogenannten Multi-Select-Listviews, kann der Benutzer
  674. zwischen zwei verschiedenen Selektions-Mechanismen wählen.  Bei
  675. `Shifted' muß, ähnlich der Workbench, nach der ersten Selektion die
  676. `Shift'-Taste gehalten werden, sonst werden die bereits selektierten
  677. Einträge wieder deselektiert.  Mit `Always' kann das Drücken der
  678. Shift-Taste unterbleiben.
  679.  
  680.    `Refresh' bestimmt die Art in der eine Liste neu aufgebaut wird: bei
  681. `linear' werden die Zeilen wie üblich von oben nach unten gedruckt,
  682. `intermixed' verursacht einen ineinander verschränkten Aufbau.
  683.  
  684.    Die Position der Pfeil-Gadgets an den Scrollbalken eines Listviews
  685. kann mit dem `Arrows'-Gadget beeinflußt werden.  Hier stehen drei
  686. Möglichkeiten zur Auswahl.
  687.  
  688.    MUIs Cycle-Gadgets bieten als Bedienungserleichterung ein
  689. Popup-Menü, das bei Betätigen das Gadgets aufklappt und eine einfache
  690. und schnelle Selektion des gewünschten Eintrags zuläßt.  Mit `Level'
  691. kann man bestimmen, ab wieviel Einträgen ein Cycle-Gadget solch ein
  692. Popup-Menü zur Verfügung stellen soll. Falls man die Popup-Menüs gar
  693. nicht mag, stellt man diesen Wert einfach genügend groß ein und wird
  694. sie nie zu Gesicht bekommen.
  695.  
  696.    Normalerweise erscheinen die Popup-Menüs immer direkt unter dem
  697. Gadget.  Zwecks schnellerer Bedienung und Minimierung der Mausbewegung
  698. kann man sie aber auch so konfigurieren, daß der gerade aktive Eintrag
  699. immer direkt unter dem Mauszeiger erscheint. Dazu dient das `Position'
  700. Gadget mit seinen beiden Einstellmöglichkeiten.
  701.  
  702.    Die Benutzung eines bisher im Amiga-Betriebssystem nicht bekannten
  703. Bedienelements, das sogenannte `Register', kann mit den beiden
  704. folgenden Slidern bestimmt werden. Dieser `Register' wird immer dann
  705. verwendet, wenn in einem Fenster mehrere Seiten vorhanden sind unter
  706. denen der Benutzer beliebig umschalten kann. Normalerweise werden
  707. solche Seiten von MUI, wie beim Amiga üblich, mit einem Cycle-Gadget
  708. am oberen Gruppenrand implementiert. Allerdings kann diese Darstellung
  709. auch durch eine Art Karteikasten ersetzt werden, wie er inzwischen bei
  710. vielen anderen Betriebssystemen üblich ist. Mit `Register Level'
  711. bestimmt man, bis zu welchen Verschachtelungstiefen Karteikästen
  712. anstelle von Cycle-Gadget verwendet werden sollen. Stell man hier zum
  713. Beispiel den Wert 1 ein, dann werden äußere Seitengruppen immer als
  714. Karteikasten dargestellt, falls darin jedoch weitere Gruppen vorhanden
  715. sind, erscheinen diese dann wie gewohnt mit einem Cycle-Gadget. Solche
  716. Verschachtelungen tauchen unter anderem im Preferences-Programm auf der
  717. Images-Seite auf.
  718.  
  719.    Karteikästen sind übersichtlicher und erlauben schnellere Bedienung
  720. als Cycle-Gadgets. Allerdings verlieren sie, abhängig von Fenster- und
  721. Zeichensatzgrößen, ab einer gewissen Anzahl von Seiten ihren Sinn.
  722. Deswegen kann man unter `Max Pages' einstellen, ab welcher Seitenzahl
  723. die Karteikästen unabgängig vom `Register-Level' immer durch
  724. Cycle-Gadgets dargestellt werden sollen.
  725.  
  726. Images-Seite
  727. ============
  728.  
  729.    Grafische Benutzerobeflächen arbeiten oft mit kleinen Bildern, im
  730. folgenden auch Images genannt. Die am häufigsten verwendeten Images
  731. sind wohl die Pfeile, sichtbar etwa im Scrollbalken eines Listviews.
  732. Für viele derartige Positionen stellt MUI Standard-Images zur
  733. Verfügung.  Das hat zum einen den Vorteil, daß nicht jeder
  734. Programmierer selbst solche Images erzeugen muß, zum anderen kann der
  735. Benutzer das Aussehen frei einstellen.
  736.  
  737.    Außerdem kann man unter MUI für viele Objekte verschiedene
  738. Hintergrund-Farben/Pattern einstellen. Wenn man das Glück hat, mit
  739. einer leistungsfähigen Grafikkarte arbeiten zu können, sollte man
  740. hier undedingt ein wenig experimentieren.  Leicht unterschiedliche
  741. Grautöne für Fenster-, Button- und Listview-Hintergründe geben einer
  742. Oberfläche ein wesentlich professionelleres und vor allem
  743. übersichtlicheres Aussehen als man es von normalen Programmem gewohnt
  744. ist.
  745.  
  746.    Hier nun eine Aufstellung der vorhandenen Images unt Hintergründe,
  747. wie sie sich auch in der Liste im Preferences-Programm befinden.
  748.  
  749.    - `ArrowUp', `ArrowDown', `ArrowLeft', `ArrowRight'
  750.  
  751.      Vier Pfeile in die verschiedenen Richtungen.
  752.  
  753.    - `CheckMark', `Radio-Button', `Cycle'
  754.  
  755.      Die bekannten Images aus den jeweiligen Bedienungselementen.  Das
  756.      Besondere am Checkmark-Image ist, daß es nur im selektierten
  757.      Zustand sichtbar ist.
  758.  
  759.    - `PopUp', `PopFile', `PopDrawer'
  760.  
  761.      Images für Popup-Buttons neben String-Gadgets. Wenn Dateien oder
  762.      Verzeichnisse abgefragt werden sollen, wird `PopFile' bzw.
  763.      `PopDrawer' verwendet, ansonsten `PopUp'.
  764.  
  765.    - `Drawer', `HardDisk', `Disk', `Chip', `Volume', `Network', `Assign'
  766.  
  767.      Images für Einträge in einem File-Requester.
  768.  
  769.    - `TapePlay', `TapePlayback', `TapePause', `TapeStop', `TapeRecord',
  770.      `TapeUp', `TapeDown'
  771.  
  772.      Images für Tapedeck-Anwendungen.
  773.  
  774.    - `Prop-Knob', `Slider-Knob'
  775.  
  776.      Schieberegler im Proportionalgadget und Slidern.
  777.  
  778.    - `BG Window'
  779.  
  780.      wird überall da verwendet wo sonst kein anderer Hintergrund
  781.      zutrifft, also insbesondere da wo sich keine Objekte befinden.
  782.  
  783.    - `BG Groups'
  784.  
  785.      befindet sich hinter dem Inhalt von Karteikästen oder virtuellen
  786.      Gruppen.
  787.  
  788.    - `BG Requester'
  789.  
  790.      der Hintergrund für MUI-Requester, findet sich zum Beispiel hier
  791.      im `About'-Requester.
  792.  
  793.    - `BG Textfield'
  794.  
  795.      eingerahmte Text-Felder, zum Beispiel Statuszeilen, werden mit
  796.      diesem Hintergrund hinterlegt.
  797.  
  798.    - `BG Button'
  799.  
  800.      wird für große Buttons die üblicherweise Text enthalten oder
  801.      auch für Cycle-Gadgets verwendet.
  802.  
  803.    - `BG Selected Gadget'
  804.  
  805.      ein mit der Maus angeklicktes Gadget wird (neben der Invertierung
  806.      des Rahmens) durch diesen Hintergrund kenntlich gemacht.
  807.  
  808.    - `BG Listview'
  809.  
  810.      erscheint hinter den Zeilen eines Listviews.
  811.  
  812.    - `BG Listview Cursor'
  813.  
  814.      der Cursor in einem Listview.
  815.  
  816.    - `BG Listview Selected'
  817.  
  818.      selektierte Einträge in einem Listview.
  819.  
  820.    - `BG Listview Selected+Cursor'
  821.  
  822.      der Cursor auf einem selektierten Eintrag im Listview.
  823.  
  824.    - `BG Prop-Gadget Container'
  825.  
  826.      entspricht dem Hintergrund in einem Proportional Gadget, also der
  827.      Bereich auf dem sich der Schieberegler hin und her bewegt.
  828.  
  829.    - `BG Slider Container'
  830.  
  831.      entspricht dem Hintergrund in einem Slider Gadget.
  832.  
  833.    Für jedes aktivierte Image kann auf der rechten Seite das Aussehen
  834. nahezu beliebig eingestellt werden. MUI bietet dabei einige
  835. verschiedene Möglichkeiten an, die mit dem Cycle-Gadget (oder mit der
  836. Karteikasten-Gruppe) angewählt werden können.
  837.  
  838.    - Pattern
  839.  
  840.      Ein Pattern ist ein wenig kompliziertes Muster, einige davon sind
  841.      bereits in MUI eingebaut. Pattern eignen sich hauptsächlich als
  842.      Hintergrund-Image, können aber auch für einige Standard-Images,
  843.      etwa für den Prop-Gadget Knopf sinnvoll verwendet werden.
  844.  
  845.    - Builtin
  846.  
  847.      Für (fast) alle Standard-Images ist in MUI jeweils ein Typ fest
  848.      eingebaut. Diese eingebauten Images sind aus Vektoren
  849.      zusammengesetzt und können sich daher in ihrer Größe jeweils an
  850.      den verwendeten Zeichensatz anpassen.
  851.  
  852.    - Pen
  853.  
  854.      Hier kann einfach ein ausgefülltes Rechteck in einer bestimmten
  855.      Farbe gewählt werden. Für die Bestimmung dieser Farbe stehen
  856.      wiederum verschiedene Möglichkeiten zur Auswahl. Entweder kann
  857.      einer der aus den System-Voreinstellern bekannten System-Pens oder
  858.      ein direkter Eintrag in der Colormap des Bildschirms refernziert
  859.      werden. Letzteres ist vor allem in Zusammenhang mit einer
  860.      installierten MagicWorkbench von Martin Huttenloher von großer
  861.      Bedeutung. Die Einführung von zwei zusätzlichen Pens (Halfshine
  862.      und Halfshadow) bietet ungeahnte Möglichkeiten beim
  863.      Oberflächen-Design. Eine dritte, nur unter Kickstart 3.0+
  864.      vorhandene Möglichkeit eine Farbe zu bestimmen bietet das
  865.      Farbrad. Hier kann einfach eine beliebige Farbe vorgegeben werden,
  866.      MUI versucht dann, diese falls benötigt zu allokieren. Das ganze
  867.      ist nur dann sinnvoll, wenn der entsprechende Bildschirm auch
  868.      genug unbenutzte Farben zur Verfügung stellt.
  869.  
  870.    - Boopsi
  871.  
  872.      Ein Boopsi-Image ist eigentlich ein Programm, das immer dann
  873.      aufgerufen wird wenn es gezeichnet werden soll. Solche Images
  874.      liegen als "shared library" vor und sollten sich im Ordner
  875.      `sys:classes/Images' auf der System-Partition befinden.  Bei MUI
  876.      liegen einige dieser Images bei die insbesondere für den
  877.      Schieberegler eines Proportional-Gadgets gedacht sind.
  878.  
  879.    - Brush
  880.  
  881.      Das sind in einer speziellen Farbpalette abgespeicherte IFF
  882.      Brushes.  Diese Farbpalette erlaubt MUI, die Images an die Farben
  883.      des Bildschirms anzupassen, auf dem diese dargestellt werden
  884.      sollen. Auf der MUI-Diskette werden viele solcher Images
  885.      mitgeliefert, natürlich können auch mit einem entsprechenden
  886.      Malprogramm eigene erstellt werden. Brushes sind nicht in der
  887.      Größe veränderbar, erlauben aber durch ihr pixelgenaues Design
  888.      bestmögliche Qualität.
  889.  
  890.    - Alien (nur Kickstart 3.0 oder höher)
  891.  
  892.      Ab Kickstart 3.0 gibt es im Amiga Betriebssystem die sogenannten
  893.      `Datatypes'. Damit ist es möglich, beliebige Bild-Dateien, seien
  894.      es nun IFF, GIF oder sonstige Formate, mit einigen wenigen
  895.      Befehlen einzuladen. MUI unterstützt diese Datatypes und erlaubt
  896.      damit die Verwendung von beliebigen Bildern als Hintergrund oder
  897.      Standard-Image in allen Applikationen.
  898.  
  899.    Zum Einstellen des aktiven Images genügt ein Doppelklick auf den
  900. gewünschten Eintrag in einer der Listen. Bei der großen Anzahl kann
  901. das jedoch schnell in einer größen Klickorgie enden, deswegen bietet
  902. der `Guess' Button die Möglichkeit, viele Images auf einmal zu
  903. konfigurieren. Dabei müssen zunächst in der linken alle
  904. einzustellenden Images mittels Multiselect angeählt werden, nach einem
  905. Druck auf `Guess' ordnet MUI dann diesen Images automatisch
  906. entsprechende Einträge aus der gerade angezeigten rechten Liste zu.
  907.  
  908. Pens-Seite
  909. ==========
  910.  
  911.    MUI verwendet beim Zeichnen der Benutzeroberflächen nicht direkt die
  912. System-Pens sondern definiert hier um flexibel und erweiterbar zu sein
  913. eigene Stifte. Vorhanden sind dabei die folgenden Einträge:
  914.  
  915.    * Shine
  916.  
  917.      identisch mit dem entsprechenden System-Stift.
  918.  
  919.    * Halfshine
  920.  
  921.      verwendet in diversen eingebauten Rastern und beim Rahmen-Design
  922.      XEN.
  923.  
  924.    * Background
  925.  
  926.      identisch mit dem entsprechenden System-Stift.
  927.  
  928.    * Halfshadow
  929.  
  930.      verwendet in diversen eingebauten Rastern und beim Rahmen-Design
  931.      XEN.
  932.  
  933.    * Shadow
  934.  
  935.      identisch mit dem entsprechenden System-Stift.
  936.  
  937.    * Text
  938.  
  939.      identisch mit dem entsprechenden System-Stift.
  940.  
  941.    * Fill
  942.  
  943.      identisch mit dem entsprechenden System-Stift, wird in MUI nur
  944.      selten um diverse der eingebauten Raster zur erzeugen.
  945.  
  946.    * ActiveObj
  947.  
  948.      Diese Farbe wird für die Umrandung von aktiven Objekten verwendet.
  949.  
  950.    Die Einstellung der Pens erfolgt dabei wie auf der Images-Seite mit
  951. der entsprechenden Gruppe.
  952.  
  953. System-Seite
  954. ============
  955.  
  956.    Auf der System-Seite finden sich einige Einstellungen, welche die
  957. Zusammenarbeit von MUI mit dem Betriebssystem betreffen. Dies sind die
  958. einzigen Einstellungen, die auch für nicht registrierte Benutzer
  959. verfügbar sind.
  960.  
  961.    An oberster Stelle findet sich hier ein String-Gadget mit
  962. Popup-Button, in dem der Name eines Public-Screens eingestellt werden
  963. kann, auf dem sich die Fenster einer Applikation öffnen sollen. Über
  964. die Popup-Liste erreicht man den in MUI integrierten Screen-Manager,
  965. mit dem solche Public-Screens erzeugt werden können.
  966.  
  967.    Zum Refresh von MUI-Fenstern stehen zwei Möglichkeiten zur Auswahl,
  968. die mit dem `Window Refresh' Gadget eingestellt werden können.  Der
  969. `smart' Refresh braucht mehr Chip-Memory, ist dafür aber schneller als
  970. der `simple' Refresh.
  971.  
  972.    Beim Neuzeichnen eines Fensters bietet MUI ebenfalls zwei
  973. verschiedene Möglichkeiten an, die mit dem `Redraw' Gadget eingestellt
  974. werden können. In der Einstellung `fast/ugly' wird vor einem
  975. Neuzeichnen (nach einer Resize-Operation) zunächst der komplette
  976. Fensterinhalt gelöscht, das nachfolgende Zeichnen geht dann etwas
  977. schneller als im `slow/nice' Modus wo das Löschen unterbleibt.
  978.  
  979.    Bei `Startup'- und `Shutdown'-Command können zwei Befehle
  980. eingetragen werden, die automatisch vor dem Start bzw. nach dem Ende
  981. einer Applikation ausgeführt werden sollen. Hier könnte zum Beispiel
  982. mit einem externen Screen-Manager ein Public-Screen für die
  983. Applikation geöffnet werden, sofern die Fähigkeiten des integrierten
  984. Screen-Managers nicht ausreichen. Oder ein simpler echo-Befehl könnte
  985. in einem Logfile mitspeichern, wann eine Applikation gestartet und
  986. beendet wurde.
  987.  
  988.    Mit dem `Iconify-Hotkey' kann man eine Tastenkombination festlegen,
  989. mit der eine bestimmte Applikation ikonifiziert (und wieder
  990. hervorgeholt) werden kann. Das Format für den Eintrag entspricht dem
  991. Standard Input-Description Format der commodities.library.
  992.  
  993.    Wenn `Iconify-Gadget' angeschaltet ist, dann bekommt jedes Fenster
  994. der Applikation im Rahmen ein zusätzliches Gadget, das dann bei
  995. Betätigung den Iconify-Prozeß auslöst.
  996.  
  997.    Normalerweise wird für eine ikonifizierte Applikation auf der
  998. Workbench ein AppIcon erzeugt. Durch Doppelklick auf dieses AppIcon
  999. kann dann die Applikation wieder aktiviert werden. Bei ausgeschaltetem
  1000. `Iconify-Icon' erscheint kein solches Icon, zum Aktivieren bleibt nur
  1001. noch die Möglichkeit eines eventuell konfigurierten Hotkeys oder ein
  1002. Benutzen des Commodities Exchange Programms.
  1003.  
  1004.    Im Listview am rechten Rand der Seite können alle Tasten
  1005. konfiguriert werden, die zum Steuern von MUI Applikationen verwendet
  1006. werden.  Die Einträge in der Liste sprechen für sich, das Format ist
  1007. wie üblich das Standard-Format für die Input Event Beschreibungen der
  1008. `commodities.library'.  Änderungen werden hier nur nach Bestätigung
  1009. durch die `Return'-Taste im String-Gadget akzeptiert. Vorher wird der
  1010. eingegebene String allerdings noch auf Korrektheit überprüft und
  1011. gegebenenfalls zurückgewiesen.
  1012.  
  1013.    Besondere Beachtung verdient der `Press'-Key. Bei dieser Taste ist
  1014. MUI darauf angewiesen, auch beim Loslassen entsprechende Aktionen
  1015. durchführen zu können. Deswegen muß diese Taste als
  1016. Qualifier-Beschreibung unbedingt den String `-upstroke' enthalten.
  1017.  
  1018. Public-Screen-Manager
  1019. =====================
  1020.  
  1021.    Beim Starten einer Applikation sucht MUI nach dem für diese
  1022. Applikation eingestellten Public-Screen. Falls dieser nicht vorhanden
  1023. ist, wird in der Liste des MUI-Screen-Managers nach einem
  1024. entsprechenden Eintrag gesucht und der Bildschirm falls gefunden mit
  1025. den eingestellten Spezifikationen geöffnet.
  1026.  
  1027.    Den Public-Screen Manager erreicht man durch Betätigen der `New'-
  1028. und `Edit'-Knöpfe in der Popup-Liste beim Einstellen des
  1029. Public-Screens einer Applikation. Er läuft unabhängig vom Rest des
  1030. Preferences-Programms in einem separaten Fenster, bei Bedarf können
  1031. auch mehrere Manager gleichzeitig geöffnet werden.
  1032.  
  1033.    Hier können Auflösung, Farbpalette sowie einige weitere Daten
  1034. eines neuen Public-Screens eingestellt werden.  Das Fenster ist
  1035. deswegen auch in drei Seiten unterteilt, die mit dem Cycle-Gadget am
  1036. oberen Rand umgeschaltet werden können.
  1037.  
  1038.    Auf der `Attributes'-Seite finden sich im einzelnen folgende
  1039. Einstellmöglichkeiten:
  1040.  
  1041.    Im `Public Name' String Gadget kann man einen Namen festlegen, unter
  1042. dem der Bildschirm später referenziert wird. Um Verwechslungen zu
  1043. vermeiden, sollten alle im System verwendeten Public Screens
  1044. unterschiedliche Namen haben. Hinter `Title' verbirgt sich wie erwartet
  1045. der Text, der in der Titelzeile angezeigt wird und bei `Font' läßt
  1046. sich der Default-Zeichensatz einstellen, mit dem der Bildschirm und die
  1047. darauf geöffneten Fenster dargestellt werden sollen. Das
  1048. `Background'-Gadget ist nur unter Kickstart 3.0 oder höher verfügbar
  1049. und erlaubt die Konfiguration eines Hintergrundbildes. Hier werden
  1050. wieder die `Datatypes' verwendet, man kann dadurch die verschiedensten
  1051. Bildformate verwenden.
  1052.  
  1053.    Neben diesen essentiellen Werten kann ein Bildschirm noch einige
  1054. andere Eigenschaften besitzen, die im folgenden aufgezählt werden:
  1055.  
  1056.    - `Auto Scroll'
  1057.  
  1058.      Wenn der Screen größer als der sichtbare Bereich definiert
  1059.      wurde, dann wird er automatisch gescrollt sobald die Maus an einen
  1060.      Rand stößt.
  1061.  
  1062.    - `Draggable'
  1063.  
  1064.      Screens ohne dieses Attribut können nicht verschoben werden.
  1065.  
  1066.    - `Exclusive'
  1067.  
  1068.      Der Bildschirm kann das Display nicht mit anderen Bildschirmen
  1069.      teilen, er wird immer alleine dargestellt (erst ab Kickstart 3.0).
  1070.  
  1071.    - `Interleaved'
  1072.  
  1073.      Dieses Attribut vermindert falls gesetzt das Flimmern das
  1074.      besonders beim Scrollen von Listen auf vielfarbigen Screens
  1075.      auftritt (erst ab Kickstart 3.0).
  1076.  
  1077.    - `Open Behind'
  1078.  
  1079.      Der Screen wird unauffällig hinter allen anderen Screens
  1080.      geöffnet.
  1081.  
  1082.    - `System Default'
  1083.  
  1084.      Der Screen wird zum System Default Screen erklärt. Alle Fenster
  1085.      die auf dem System Default Screen aufzugehen wünschen (z.B.
  1086.      Shell-Fenster) werden dadurch umgelenkt.
  1087.  
  1088.    Die Auflösung und Größe eines Bildschirms läßt sich auf der
  1089. `Display Mode' Seite einstellen. In einer Liste werden dazu alle
  1090. verfügbaren Modi angezeigt. Außerdem finden sich am unteren
  1091. Fensterrand Gadgets für Breite, Höhe und Tiefe sowie eine Einstellung
  1092. für den zu verwendenden Overscan-Typ.
  1093.  
  1094.    Die Farbpalette und die Zuordnung der System-Stifte eines Bildschirms
  1095. kann man schließlich mit Hilfe der `Palette'-Seite bestimmen.  Das
  1096. hier verwendete Verfahren ist ähnlich des im System benutzten
  1097. Palette-Voreinsteller-Programms. Anzumerken ist hier allerdings daß
  1098. die gerade eingestellten Farben nur unter Kickstart 3.x und auch da nur
  1099. dann auch wirklich sichtbar sind, wenn genug freie Farben auf dem
  1100. Bildschirm zur Verfügung stehen. Die Mehrheit aller Benutzer wird
  1101. momentan leider nur schwarze Kästchen sehen und ist beim Einstellen
  1102. etwas auf ihre Phantasie angewiesen.  Die MUI Palette-Einstellung wird
  1103. erst bei mindestens 32 Farben so richtig schön.
  1104.  
  1105. CLI-Interface
  1106. =============
  1107.  
  1108.    Das Prefs-Programm bietet auch ein kleines CLI-Interface, das
  1109. eigentlich nur dazu dient, den eingebauten Screen-Manager auch anderen
  1110. Programmen zur Verfügung zu stellen. Die Syntax für den Aufruf mit
  1111. Parametern lautet:
  1112.  
  1113.      NAME,OPEN/S,CLOSE/S
  1114.  
  1115. NAME:
  1116.      Name eines (vorher konfigurierten) Public Screens
  1117.  
  1118. OPEN:
  1119.      Screen öffnen
  1120.  
  1121. CLOSE:
  1122.      Screen schließen
  1123.  
  1124. ARexx Port
  1125. ==========
  1126.  
  1127.    Das Preferences Programm enthält einen einfachen ARexx-Port mit den
  1128. folgenden vier Befehlen:
  1129.  
  1130.    * `SAVE'
  1131.  
  1132.      Entspricht der Funktion des `Save'-Knopfs.
  1133.  
  1134.    * `USE'
  1135.  
  1136.      Entspricht der Funktion des `Use'-Knopfs.
  1137.  
  1138.    * `TEST'
  1139.  
  1140.      Entspricht der Funktion des `Test'-Knopfs.
  1141.  
  1142.    * `CANCEL'
  1143.  
  1144.      Entspricht der Funktion des `Cancel'-Knopfs.
  1145.  
  1146.    Natürlich können daneben auch die *Note Standard-ARexx-Befehle:
  1147. USE_AREXX verwendet werden.
  1148.  
  1149. Sonstiges
  1150. *********
  1151.  
  1152. Registration
  1153. ============
  1154.  
  1155.    "MagicUserInterface" ist ein umfangreiches Produkt, in das ich viel
  1156. Arbeit und Zeit (und wahrscheinlich ein Semester meines Studiums)
  1157. investiert habe. Ich hoffe allerdings, daß sich diese Arbeit gelohnt
  1158. hat und daß schon bald viele - auf MUI basierende - Applikationen mit
  1159. schönen und flexiblen Benutzeroberflächen verfügbar sind.
  1160.  
  1161.    Damit auch der finanzielle Aspekt nicht ganz unberücksichtigt
  1162. bleibt, habe ich mich entschlossen, MUI als Shareware zu vertreiben.
  1163. Mit der unregistrierten Version ist das Speichern einiger Einstellungen
  1164. im Preferences-Programm nicht möglich. Diese Einschränkungen
  1165. beeinflussen allerdings in keinster Weise die Funktionalität von
  1166. Applikationen, alle wichtigen Parameter (etwa Fenster-Positionen,
  1167. Public-Screens und System-Einstellungen) sind auch ohne Registrierung
  1168. möglich. Für die übrigen Werte werden dann die integrierten
  1169. Standard-Einstellungen verwendet, auch damit sind MUI Applikationen
  1170. immer noch funktioneller und attraktiver als die meisten anderen
  1171. Programme.
  1172.  
  1173.    Wer allerdings die weitergehenden Möglichkeiten von MUI
  1174. (verschiedene Zeichensätze, Rahmen, Images, Hintergrund-Pattern)
  1175. nutzen möchte, der sollte sich registrieren lassen.  Registrierte
  1176. Benutzer erhalten eine Diskette mit der jeweils aktuellsten Version,
  1177. zusammen mit einem Keyfile. Mit diesem Keyfile können dann sämtliche
  1178. Einstellungen im Preferences-Programm abgespeichert werden und stehen
  1179. dauerhaft zur Verfügung.  Natürlich bleibt das Keyfile für alle
  1180. zukünftigen Versionen von MUI gültig, spätere Updates können also
  1181. einfach von Mailboxen oder PD-Disketten bezogen werden.
  1182.  
  1183. Der Preis für eine Registrierung beträgt
  1184.  
  1185.      20.- DM  (D-Mark),
  1186.      20.- SFr (Schweizer Franken),
  1187.      90.- FF  (French Francs),
  1188.      15.- US$ (US-Dollar)
  1189.    oder einen Betrag in irgendeiner anderen Währung der 20.- US$
  1190. (zwanzig!) entspricht. Zwanzig deswegen weil ich das Geld dann bei
  1191. meiner Bank umtauschen und dafür Gebühren bezahlen muß.
  1192.  
  1193.    Als schnellster und einfachster Weg sich registrieren zu lassen
  1194. bietet sich an, das beiliegende Bestellformular auszufüllen und es in
  1195. einem Brief zusammen mit dem Geld an die folgenden Adresse zu schicken:
  1196.  
  1197.      Stefan Stuntz
  1198.      Eduard-Spranger-Straße 7
  1199.      80935 München
  1200.      DEUTSCHLAND
  1201.  
  1202.    Statt Bargeld können natürlich auch Euro-Cheques verwendet werden,
  1203. allerdings bitte ich von jeglicher Art von Auslands-Cheques abzusehen,
  1204. diese einzulösen kostet teilweise unverschämt hohe Gebühren.
  1205.  
  1206.    Innerhalb Deutschlands kann man die Registration auch einfach per
  1207. Banküberweisung an die
  1208.  
  1209.      Stadtsparkasse München, BLZ 701 500 00, Konto 35-169929
  1210.  
  1211. durchführen. Dabei ist unbedingt darauf zu achten, daß auf dem
  1212. Überweisungsformular unter `Verwendungszweck' die komplette Anschrift
  1213. angegeben wird.
  1214.  
  1215.    Alle Registrierungen werden schnellstmöglich bearbeitet und sollten
  1216. im Inland innerhalb von ein bis zwei Wochen ausgeliefert werden.
  1217. Bedingt durch die Postlaufzeiten kann eine Auslandsregistrierung etwas
  1218. länger dauern. Deswegen gibt es für MUI in einigen Ländern
  1219. Registration Sites:
  1220.  
  1221.    - U.S.A. und Kanada
  1222.  
  1223.           Robert Blayzor
  1224.           P.O. Box 807
  1225.           Johnstown, NY 12095-0807
  1226.           
  1227.           Phone: (518) 883-5326 (data/fax/bbs)
  1228.           
  1229.           electronic mail:
  1230.           
  1231.           InterNet/UUCP: robertb@liquid.albany.ny.us
  1232.                 FidoNet: 1:267/131.0
  1233.                AmigaNet: 40:714/1.0
  1234.                  C-Link: 911:6150/1.0
  1235.           
  1236.           Make all payments payable to: Robert Blayzor
  1237.           
  1238.           Acceptable payment methods: US Money Orders & Bank/Personal Checks
  1239.           
  1240.           Personal checks must wait 10-15 days to clear unless certified!
  1241.           (All payments in US dollars ONLY!)
  1242.  
  1243. Updates
  1244. =======
  1245.  
  1246.    Wann immer eine neue Version von MUI erscheint, wird das in den
  1247. entsprechenden Brettern einiger Datennetze angekündigt werden. Das neue
  1248. Archiv findet sich dann sicher bald in vielen Mailboxen und ist
  1249. außerdem auf allen `aminet' ftp-servern zu bekommen. Größere Updates
  1250. werden auch auf PD-Disks erhältlich sein.
  1251.  
  1252.    Wie bereits erwähnt, brauchen registrierte Benutzer weder ein neues
  1253. Keyfile noch irgendwelche speziellen Programmversionen, Updates können
  1254. sofort mit allen ihren Möglichkeiten genutzt werden.
  1255.  
  1256.    Natürlich werden alle zukünftigen MUI Versionen zu den vorher
  1257. erschienenen vollständig kompatibel sein. Applikationen die mit MUI
  1258. 1.0 entwickelt worden sind, werden auch noch nach geraumer Zeit unter
  1259. MUI 7.0 ihren Dienst versehen. Sie werden dabei automatisch von
  1260. eventuellen Verbesserungen im Design oder in der Funktionalität der
  1261. Oberfläche profitieren.
  1262.  
  1263. Support
  1264. =======
  1265.  
  1266.    Ich werde mich bemühen, alle Anfragen bezüglich MUI
  1267. schnellstmöglich zu beantworten. Dabei werden die Probleme von
  1268. registrierten Benutzern bevorzugt behandelt. Bitte wann immer möglich
  1269. electronic mail als Kommunikationsmedium verwenden, das ist sowohl
  1270. billiger als auch schneller, schont die Umwelt und erleichtert die
  1271. Arbeit. Electronic mail beantworte ich normalerweise noch am selben
  1272. Tag, bei Papierbriefen kann das ganze bedeutend länger dauern. Dann
  1273. ist vielleicht ein Anruf eher angesagt.
  1274.  
  1275.      Sackpost: Stefan Stuntz
  1276.                Eduard-Spranger-Straße 7
  1277.                80935 München
  1278.                DEUTSCHLAND
  1279.      
  1280.       Telefon: +49-89-313-1248
  1281.      
  1282.        e-mail: stuntz@informatik.tu-muenchen.de
  1283.  
  1284. Danksagungen
  1285. ============
  1286.  
  1287.    MUI entstand aus der Enttäuschung darüber, wie wenig Unterstützung
  1288. einem Programmierer beim Erstellen von Benutzeroberflächen seitens des
  1289. Betriebssystems gewährt wird. Meine ersten Denkanstöße in Richtung
  1290. objektorientierter Oberflächengestaltung erhielt ich von Armin Sander,
  1291. bei dem ich mich an dieser Stelle für die vielen Tips herzlich
  1292. bedanken möchte. Er hat damit den Grundstein für MUI gelegt.
  1293.  
  1294.    Ohne die tatkräftige Mithilfe meiner Betatester wäre MUI sicher
  1295. niemals fertiggestellt worden. Dabei beschränkten sich ihre Aufgaben
  1296. nicht nur auf bloßes Ausprobieren sondern vor allem auch auf das
  1297. Erstellen der mitgelieferten Beispielprogramme.  Daß aus einigen
  1298. dieser Beispielprogramme richtige Applikationen geworden sind, macht
  1299. das große Engagement und die Begeisterung mit der sie alle bei der
  1300. Sache waren um so mehr deutlich.
  1301.  
  1302.    Im einzelnen haben mitgeholfen:
  1303.  
  1304.    - Stefan Becker
  1305.  
  1306.      ... hat trotz chronischen Zeitmangels einige wertvolle Tips und
  1307.      Hinweise gegeben. Außerdem waren mir Teile seines ToolManager
  1308.      Sourcecodes bei der Entwicklung von MUI eine große Hilfe.
  1309.  
  1310.    - Martin Berndt ... hat mich beim Lösen einiger kniffliger Probleme
  1311.      unterstützt.
  1312.  
  1313.    - Robert Blayzor ... hat die englische Anleitung überarbeitet.
  1314.  
  1315.    - Dirk Federlein ... erstellte die MUI-Applikation `DFView'. Bei
  1316.      über 100 kByte Sourcecode inclusive Sprachen-Anpassung und
  1317.      Anleitung in drei verschiedenen Formaten wage ich es nicht mehr,
  1318.      nur von einem Beispielprogramm zu sprechen. Außerdem hat Dirk zu
  1319.      meiner großen Freude einige Teile dieser Dokumentation ins
  1320.      Englische übersetzt.
  1321.  
  1322.    - Georg "gucky" Heßmann
  1323.  
  1324.      ... hat in der Endphase noch einige Bugs aufgedeckt und das
  1325.      Demo-Programm `DVIprint' beigesteuert.
  1326.  
  1327.    - Martin Horneffer und Albert Weinert
  1328.  
  1329.      ... von ihnen stammt das Oberon-Interface.
  1330.  
  1331.    - Martin "XEN" Huttenloher
  1332.  
  1333.      ... hat viele der mitgelieferten Images gezeichnet und auch beim
  1334.      sonstigen MUI-Design entscheidend mitgewirkt. Außerdem stammen von
  1335.      ihm die wunderschönen Hintergrund-Patterns, die ein kleiner
  1336.      Auszug seines `MagicWB'-Pakets sind. Freunde einer ansprechenden,
  1337.      plastischen Workbench sollten sich sein Paket `MagicWB' unbedingt
  1338.      einmal näher betrachten!
  1339.  
  1340.    - Kai "KCommodity" Iske
  1341.  
  1342.      ... programmierte einen der diversen MUI-Taschenrechner und hat
  1343.      dabei noch einige üble Bugs in MUI gefunden.
  1344.  
  1345.    - Oliver "Mr.Coffee" Kilian
  1346.  
  1347.      ... hat MUI auf dem guten alten (und langsamen) 68000er getestet.
  1348.  
  1349.    - Klaus "kmel" Melchior
  1350.  
  1351.      ... schrieb die beiden Beispiel-Programme `WbMan' und
  1352.      `MUI-Exchange' und endlose Listen von Bug-Reports. Außerdem war
  1353.      er beim Korrektur-Lesen der Autodocs mit Abstand am fleißigsten,
  1354.      malte die Icons der Demo-Programme und schrieb ein paar BOOPSI
  1355.      Images.
  1356.  
  1357.    - Wouter van Oortmerssen
  1358.  
  1359.      ... für das Amige-E Interface.
  1360.  
  1361.    - Matthias "tron" Scheler und Markus "corwin" Stipp
  1362.  
  1363.      ... haben die erste richtige MUI Applikation geschrieben, einen
  1364.      Message-Editor für das Universal Mail System (UMS).  Look out for
  1365.      `IntuiNews'! Außerdem stammt von Matthias das Beispiel-Programm
  1366.      `Font'.
  1367.  
  1368.    - Andreas "goonie" Schildbach
  1369.  
  1370.      ... hat MUI-Design und -Funktionsumfang entscheidend beeinflußt,
  1371.      von ihm stammt unter anderem ein kompletter Satz MUI-Images.
  1372.      Außerdem schreibt er ebenfalls mehrere Applikationen, eine davon
  1373.      ist eine Telefon- und Anrufbeantworter-Software für ISDN. Andreas
  1374.      hat mich durch die wie immer endlosen Telefongespräche auch mal
  1375.      auf andere Gedanken gebracht.
  1376.  
  1377.    - Wolfgang Schildbach
  1378.  
  1379.      ... für seinen Text-Formatierungs-Code.
  1380.  
  1381.    - Christian "Kochtopf" Scholz
  1382.  
  1383.      ... für das Modula-Interface.
  1384.  
  1385.    - Ibrahim "radi" Solmaz
  1386.  
  1387.      ... der mich ebenfalls durch viele Telefonate von der Arbeit
  1388.      abhielt, mir aber trotzdem manchmal eine wertvolle Hilfe war.
  1389.  
  1390.    - Henri Veistera
  1391.  
  1392.      ... für das Assembler-Interface. Ich hätte nie gedacht, daß man
  1393.      MUI in Assembler programmieren kann.
  1394.  
  1395.    Das letzte Wort gilt jedoch allen registrierten Benutzern meines
  1396. File-Requesters MFR. Der Erfolg, den ich mit diesem Programm hatte,
  1397. bestärkte mich darin, es auch bei MUI auf Shareware-Basis zu
  1398. versuchen. Deswegen tut es mir besonders leid, daß von MFR so lange
  1399. kein Update mehr erschienen ist. Die Arbeit an MUI hatte für mich aber
  1400. zunächst Priorität, insbesondere weil eine nächste Version von MFR
  1401. vermutlich auf MUI aufbauen wird.
  1402.  
  1403. Diskussion
  1404. ==========
  1405.  
  1406.    - "Was bringt MUI überhaupt für Nicht-Programmierer?"
  1407.  
  1408.      In Zukunft werden hoffentlich viele Applikationen MUI zum Erstellen
  1409.      ihrer Userinterfaces verwenden. Als Benutzer solcher Applikationen
  1410.      hat man dann vielerlei Möglichkeiten auf deren Aussehen
  1411.      einzuwirken und kann alle nur erdenklichen Dinge an seinen
  1412.      persönlichen Geschmack anpassen. Um alle Features in vollem Umfang
  1413.      nutzen zu können, muß man sich für MUI registrieren lassen.
  1414.  
  1415.    - "Warum ist MUI so langsam?"
  1416.  
  1417.      MUI ist nicht langsam. Die große Vielfalt und Flexibiltät
  1418.      erfordert jedoch einen deutlich höheren Rechenaufwand als bei den
  1419.      bisher bekannten Benutzeroberflächen. Insbesondere auf langsamen
  1420.      Rechnern kann sich dieser Aufwand unangenehm bemerkbar machen.
  1421.      Beim Starten der ersten MUI Applikation nach einem Reset müssen
  1422.      zudem noch einige Dateien nachgeladen werden, was ebenfalls einige
  1423.      Zeit in Anspruch nehmen kann. Diese Dateien bleiben dann allerdings
  1424.      im Speicher, so daß weitere Programme relativ schnell gestartet
  1425.      werden können.
  1426.  
  1427.      Natürlich könnte man bei MUI einige Dinge beschleunigen und ich
  1428.      versuche auch, jede neue Version etwas schneller als die
  1429.      vorherigen zu machen.  Allerdings bin ich nicht bereit, zu Gunsten
  1430.      von ein wenig Geschwindigkeitssteigerung auf Features wie etwa das
  1431.      hohe Maß an Konfigurierbarkeit zu verzichten. Wer heute noch einen
  1432.      10 Jahre alten 68000er Prozessor mit 7 Megahertz Taktfrequenz
  1433.      verwendet, der muß damit rechnen, daß nicht alle Programme in
  1434.      Hochgeschwindigkeit ablaufen. Die Software entwickelt sich hin zu
  1435.      immer komplexeren Produkten, deren Anforderungen einfach nicht
  1436.      mehr durch veraltete Hardware erfüllt werden können.
  1437.  
  1438.    - "Warum werden meine Fensterpositionen nicht gespeichert?"
  1439.  
  1440.      Fensterpositionen werden normalerweise nur temporär, d.h. im RAM
  1441.      gespeichert und sind nach einem Neustart verloren.  Eine
  1442.      dauerhafte Speicherung kann man erreichen, indem man nach Benutzen
  1443.      einer Applikation das MUI Preferences Programm startet und hier
  1444.      das `Save'-Gadget angewählt.
  1445.  
  1446.    - "Wozu dient das schräg schraffierte Feld beim Einstellen der
  1447.      Farb-Palette?"
  1448.  
  1449.      Hier wird normalerweise die gerade eingestellte Farbe angezeigt,
  1450.      allerdings funktioniert dieses Feature erst ab Kickstart 3.0 und
  1451.      außerdem nur dann, wenn auf dem Bildschirm noch freie Farben zur
  1452.      Verfügung stehen.
  1453.  
  1454.    - "Wie kann man eigene Images malen?"
  1455.  
  1456.      Dazu kann jedes beliebige Malprogramm verwendet werden. Als
  1457.      Ausgangspunkt sollte man am besten das Bild `MBrKit.ilbm' aus dem
  1458.      `Images'-Verzeichnis dieser Distribution verwenden.
  1459.  
  1460.    - "Warum unterstützen die String-Gadgtes kein Clipboard?"
  1461.  
  1462.      Es gibt ein Utility namens `NewEdit', daß *allen* String Gadgets
  1463.      im System Clipboard-Fähigkeiten verleiht. Auch MUI's Gadgets
  1464.      arbeiten mit diesem Utility zusammen.
  1465.  
  1466. Disclaimer
  1467. ==========
  1468.  
  1469.    THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
  1470. APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
  1471. HOLDER AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
  1472. OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
  1473. THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  1474. PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
  1475. PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE
  1476. COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
  1477.  
  1478.    IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
  1479. WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY REDISTRIBUTE THE
  1480. PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
  1481. GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
  1482. USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS
  1483. OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR
  1484. THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
  1485. PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
  1486. POSSIBILITY OF SUCH DAMAGES.
  1487.  
  1488. License
  1489. =======
  1490.  
  1491.    Diese Lizenz betrifft die Weiterverbreitung des kompletten
  1492. MUI-Systems. Sie hat mit dem Benutzen von MUI in eigenen Applikationen
  1493. nichts zu tun, genaue Informationen darüber finden sich im
  1494. Developer-Archiv.
  1495.  
  1496.    - This license applies to the product called "MagicUserInterface"
  1497.      (short "MUI"), a collection of programs for the Amiga computer,
  1498.      published by Stefan Stuntz under the concepts of shareware, and
  1499.      the accompanying documentation. The terms "Program" and "MUI"
  1500.      below, refer to this product. The licensee is addressed as "you".
  1501.  
  1502.    - You may copy and distribute verbatim copies of the program's
  1503.      executable code and documentation as you receive it, in any
  1504.      medium, provided that you conspicuously and appropriately publish
  1505.      only the original, unmodified program, with all copyright notices
  1506.      and disclaimers of warranty intact and including all the
  1507.      accompanying documentation, example files and anything else that
  1508.      came with the original.
  1509.  
  1510.    - Except when otherwise stated in this documentation, you may not
  1511.      copy and/or distribute this program without the accompanying
  1512.      documentation and other additional files that came with the
  1513.      original. You may not copy and/or distribute modified versions of
  1514.      this program.
  1515.  
  1516.    - You may not copy, modify, sublicense, distribute or transfer the
  1517.      program except as expressly provided under this license. Any
  1518.      attempt otherwise to copy, modify, sublicense, distribute or
  1519.      transfer the program is void, and will automatically terminate
  1520.      your rights to use the program under this license. However,
  1521.      parties who have received copies, or rights to use copies, from
  1522.      you under this license will not have their licenses terminated so
  1523.      long as such parties remain in full compliance.
  1524.  
  1525.    - By copying, distributing and/or using the program you indicate your
  1526.      acceptance of this license to do so, and all its terms and
  1527.      conditions.
  1528.  
  1529.    - Each time you redistribute the program, the recipient automatically
  1530.      receives a license from the original licensor to copy, distribute
  1531.      and/or use the program subject to these terms and conditions. You
  1532.      may not impose any further restrictions on the recipients'
  1533.      exercise of the rights granted herein.
  1534.  
  1535.    - You may not disassemble, decompile, re-source or otherwise reverse
  1536.      engineer the program.
  1537.  
  1538.    - You agree to cease distributing the program and data involved if
  1539.      requested to do so by the author.
  1540.  
  1541. Installer
  1542. =========
  1543.  
  1544.    Mit MUI wird der Installer von Commodore ausgeliefert, der die
  1545. Installation des Programmpakets auf Festplatte erheblich erleichtert.
  1546. Für dieses Tool gelten die folgenden Bestimmungen:
  1547.  
  1548.      Installer and Installer project icon
  1549.      (c) Copyright 1991-93 Commodore-Amiga, Inc.  All Rights Reserved.
  1550.      Reproduced and distributed under license from Commodore.
  1551.      
  1552.      INSTALLER SOFTWARE IS PROVIDED "AS-IS" AND SUBJECT TO CHANGE;
  1553.      NO WARRANTIES ARE MADE. ALL USE IS AT YOUR OWN RISK. NO LIABILITY
  1554.      OR RESPONSIBILITY IS ASSUMED.
  1555.  
  1556.